import Cookies from 'js-cookie'

const TokenKey = 'mpw_token'

export function getToken() {
  return Cookies.get(TokenKey)
}

export function setToken(token) {
  return Cookies.set(TokenKey, token)
}

export function removeToken() {
  return Cookies.remove(TokenKey)
}

export function getUserInfoID() {
  return Cookies.get('UserInfo')
}
// setUserInfoID
export function setUserInfoID(Info) {
  return Cookies.set('UserInfo', Info)
}
export function removeUserInfoID() {
  return Cookies.remove('UserInfo')
}
// 日期转时间戳 
export function timeInter(times){
  var date = new Date(times);
  var t = date.getTime();
  return t.toString().substring(0,10)
}

export function setMinutes(date) {
  var day = Math.floor(date / 60 / 60 / 24).toString().padStart(2, "0");
  var hr = Math.floor((date / 60 / 60) % 24).toString().padStart(2, "0");
  var min = Math.floor((date / 60) % 60).toString().padStart(2, "0");
  var sec = Math.floor(date % 60).toString().padStart(2, "0");
  return {
    day:day,
    hr:hr,
    min:min,
    sec:sec
  }
}

export function _debounce(fn, delay) {
  var delay = delay || 500;
  var timer;
  return function () {
      var th = this;
      var args = arguments;
      if (timer) {
          clearTimeout(timer);
      }
      timer = setTimeout(function () {
          timer = null;
          fn.apply(th, args);
      }, delay);
  };
}
/**
 *时间戳转日期
 * timestamp  例：1676703600
 * return {月-日 时分秒 
 *          年-月-日  时分秒
 *          }
 * ****/ 
export function timestampToTime(timestamp) {
  var date = new Date(timestamp * 1000);//时间戳为10位需*1000，时间戳为13位的话不需乘1000
    var Y = date.getFullYear() + '年';
    var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '月';
    var D = (date.getDate() < 10 ? '0'+(date.getDate()) : date.getDate()) + '日';
    var h = (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours()) + ':';
    var m = (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes()) + ':';
    var s = (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds());
    // return Y+M+D+h+m+s;
    return  {mdhms:M+D+h+m+s,ymdhms:Y+M+D+h+m+s};
}
/**
 *时间戳转日期
 * timestamp  例：1676703600
 * return {月-日 时分秒 
 *          年-月-日  时分秒
 *          }
 * 在原时间上加两天
 * ****/ 
export function timestampToTimeTow(timestamp) {
  // 1. 处理时间戳（10位转毫秒）
  const ts = timestamp < 1000000000000 ? timestamp * 1000 : timestamp;
  
  // 2. 创建日期对象并加两天
  const date = new Date(ts);
  date.setDate(date.getDate() + 2); // 添加两天
  
  // 3. 格式化为各时间组件
  const Y = date.getFullYear() + '年';
  const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '月';
  const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '日';
  const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
  const m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
  const s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
  
  // 4. 返回结果对象
  return {
    mdhms: M + D + h + m + s,    // 月日时分秒
    ymdhms: Y + M + D + h + m + s // 年月日时分秒
  };
}
/***
 *将数字转化为中文大写 
 * **/ 
export function number_chinese(str) {
  // 处理负数情况
  var isNegative = false;
  if (str.toString().indexOf('-') === 0) {
      isNegative = true;
      str = str.toString().substring(1);
  }
  
  var num = parseFloat(str);
  var strOutput = "",
      strUnit = '仟佰拾亿仟佰拾万仟佰拾元角分';
  num += "00";
  var intPos = num.indexOf('.');
  if (intPos >= 0) {
      num = num.substring(0, intPos) + num.substr(intPos + 1, 2);
  }
  strUnit = strUnit.substr(strUnit.length - num.length);
  for (var i = 0; i < num.length; i++) {
      strOutput += '零壹贰叁肆伍陆柒捌玖'.substr(num.substr(i, 1), 1) + strUnit.substr(i, 1);
  }
  
  // 添加负号处理
  var result = strOutput.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零{2,}/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+元/, '元').replace(/亿零{0,3}万/, '亿').replace(/^元/, "零元");
  return isNegative ? '负' + result : result;
}

